package com.jrx.anytxn.param.entity;

import java.math.BigDecimal;
import java.util.Date;

/**
 *  
 * 表:pr_installment_fee_table 
 * @author zheng 
 * @date 2019-12-26 
 */
public class PrInstallmentFeeTable {
    /**
     * 主键	
     * 表字段:id
     */
    private Long id;

    /**
     * 租户ID
     * 表字段:tenant_id
     */
    private String tenantId;

    /**
     * 费用表id	唯一索引
     * 表字段:installment_fee_id
     */
    private String installmentFeeId;

    /**
     * 费用表机构号
     * 表字段:organization_id
     */
    private String organizationId;

    /**
     * 中文名称
     * 表字段:chinese_name
     */
    private String chineseName;

    /**
     * 英文名称
     * 表字段:english_name
     */
    private String englishName;

    /**
     * 状态	1 = 正常0 = 失效
     * 表字段:table_status
     */
    private String tableStatus;

    /**
     * 费用表类型	0 = 贷款手续费1 = 滞纳金2 = 提前结清手续费3 = 提前还款手续费4 = 资金源手续费5 = 合作伙伴手续费
     * 表字段:table_type
     */
    private String tableType;

    /**
     * 费用计算基础	0 = 剩余本金1 = 贷款本金2 = 当期本金
     * 表字段:charge_basis
     */
    private String chargeBasis;

    /**
     * 费用收取频率	0 = 每期收取1 = 一次性收取2 = 每年收取
     * 表字段:charge_frequency
     */
    private String chargeFrequency;

    /**
     * 费用收取时间	0 = 账单日1 = 贷款发放日2 = 还款日3 = 宽限日
     * 表字段:generate_time
     */
    private String generateTime;

    /**
     * 费用收取方式	0 = 按比例收取 1 = 固定金额收取
     * 表字段:charge_option
     */
    private String chargeOption;

    /**
     * 费用收取比例，费用收取方式为0时有效
     * 表字段:charge_percent
     */
    private BigDecimal chargePercent;

    /**
     * 费用固定值，费用收取方式为1时有效
     * 表字段:fixed_amount
     */
    private BigDecimal fixedAmount;

    /**
     * 费用产生利息标志
     * 表字段:int_on_fee_flag
     */
    private String intOnFeeFlag;

    /**
     * 最大费用值	
     * 表字段:max_amount
     */
    private BigDecimal maxAmount;

    /**
     * 最小费用值	
     * 表字段:min_amount
     */
    private BigDecimal minAmount;

    /**
     * 交易码	
     * 表字段:txn_code
     */
    private String txnCode;

    /**
     * 创建时间	
     * 表字段:create_time
     */
    private Date createTime;

    /**
     * 最后更新时间
     * 表字段:update_time
     */
    private Date updateTime;

    /**
     * 最后更新操作员	
     * 表字段:update_by
     */
    private String updateBy;

    /**
     * 记录版本号	
     * 表字段:record_version_number
     */
    private Integer recordVersionNumber;

    /**
     * 获取主键	
     * @return id Long
     */
    public Long getId() {
        return id;
    }

    /**
     * 设置主键	
     * @param id 主键	
     */
    public void setId(Long id) {
        this.id = id;
    }

    /**
     * 获取租户ID
     * @return tenantId String
     */
    public String getTenantId() {
        return tenantId;
    }

    /**
     * 设置租户ID
     * @param tenantId 租户ID
     */
    public void setTenantId(String tenantId) {
        this.tenantId = tenantId;
    }

    /**
     * 获取费用表id	唯一索引
     * @return installmentFeeId String
     */
    public String getInstallmentFeeId() {
        return installmentFeeId;
    }

    /**
     * 设置费用表id	唯一索引
     * @param installmentFeeId 费用表id	唯一索引
     */
    public void setInstallmentFeeId(String installmentFeeId) {
        this.installmentFeeId = installmentFeeId;
    }

    /**
     * 获取费用表机构号
     * @return organizationId String
     */
    public String getOrganizationId() {
        return organizationId;
    }

    /**
     * 设置费用表机构号
     * @param organizationId 费用表机构号
     */
    public void setOrganizationId(String organizationId) {
        this.organizationId = organizationId;
    }

    /**
     * 获取中文名称
     * @return chineseName String
     */
    public String getChineseName() {
        return chineseName;
    }

    /**
     * 设置中文名称
     * @param chineseName 中文名称
     */
    public void setChineseName(String chineseName) {
        this.chineseName = chineseName;
    }

    /**
     * 获取英文名称
     * @return englishName String
     */
    public String getEnglishName() {
        return englishName;
    }

    /**
     * 设置英文名称
     * @param englishName 英文名称
     */
    public void setEnglishName(String englishName) {
        this.englishName = englishName;
    }

    /**
     * 获取状态	1 = 正常0 = 失效
     * @return tableStatus String
     */
    public String getTableStatus() {
        return tableStatus;
    }

    /**
     * 设置状态	1 = 正常0 = 失效
     * @param tableStatus 状态	1 = 正常0 = 失效
     */
    public void setTableStatus(String tableStatus) {
        this.tableStatus = tableStatus;
    }

    /**
     * 获取费用表类型	0 = 贷款手续费1 = 滞纳金2 = 提前结清手续费3 = 提前还款手续费4 = 资金源手续费5 = 合作伙伴手续费
     * @return tableType String
     */
    public String getTableType() {
        return tableType;
    }

    /**
     * 设置费用表类型	0 = 贷款手续费1 = 滞纳金2 = 提前结清手续费3 = 提前还款手续费4 = 资金源手续费5 = 合作伙伴手续费
     * @param tableType 费用表类型	0 = 贷款手续费1 = 滞纳金2 = 提前结清手续费3 = 提前还款手续费4 = 资金源手续费5 = 合作伙伴手续费
     */
    public void setTableType(String tableType) {
        this.tableType = tableType;
    }

    /**
     * 获取费用计算基础	0 = 剩余本金1 = 贷款本金2 = 当期本金
     * @return chargeBasis String
     */
    public String getChargeBasis() {
        return chargeBasis;
    }

    /**
     * 设置费用计算基础	0 = 剩余本金1 = 贷款本金2 = 当期本金
     * @param chargeBasis 费用计算基础	0 = 剩余本金1 = 贷款本金2 = 当期本金
     */
    public void setChargeBasis(String chargeBasis) {
        this.chargeBasis = chargeBasis;
    }

    /**
     * 获取费用收取频率	0 = 每期收取1 = 一次性收取2 = 每年收取
     * @return chargeFrequency String
     */
    public String getChargeFrequency() {
        return chargeFrequency;
    }

    /**
     * 设置费用收取频率	0 = 每期收取1 = 一次性收取2 = 每年收取
     * @param chargeFrequency 费用收取频率	0 = 每期收取1 = 一次性收取2 = 每年收取
     */
    public void setChargeFrequency(String chargeFrequency) {
        this.chargeFrequency = chargeFrequency;
    }

    /**
     * 获取费用收取时间	0 = 账单日1 = 贷款发放日2 = 还款日3 = 宽限日
     * @return generateTime String
     */
    public String getGenerateTime() {
        return generateTime;
    }

    /**
     * 设置费用收取时间	0 = 账单日1 = 贷款发放日2 = 还款日3 = 宽限日
     * @param generateTime 费用收取时间	0 = 账单日1 = 贷款发放日2 = 还款日3 = 宽限日
     */
    public void setGenerateTime(String generateTime) {
        this.generateTime = generateTime;
    }

    /**
     * 获取费用收取方式	0 = 按比例收取 1 = 固定金额收取
     * @return chargeOption String
     */
    public String getChargeOption() {
        return chargeOption;
    }

    /**
     * 设置费用收取方式	0 = 按比例收取 1 = 固定金额收取
     * @param chargeOption 费用收取方式	0 = 按比例收取 1 = 固定金额收取
     */
    public void setChargeOption(String chargeOption) {
        this.chargeOption = chargeOption;
    }

    /**
     * 获取费用收取比例，费用收取方式为0时有效
     * @return chargePercent BigDecimal
     */
    public BigDecimal getChargePercent() {
        return chargePercent;
    }

    /**
     * 设置费用收取比例，费用收取方式为0时有效
     * @param chargePercent 费用收取比例，费用收取方式为0时有效
     */
    public void setChargePercent(BigDecimal chargePercent) {
        this.chargePercent = chargePercent;
    }

    /**
     * 获取费用固定值，费用收取方式为1时有效
     * @return fixedAmount BigDecimal
     */
    public BigDecimal getFixedAmount() {
        return fixedAmount;
    }

    /**
     * 设置费用固定值，费用收取方式为1时有效
     * @param fixedAmount 费用固定值，费用收取方式为1时有效
     */
    public void setFixedAmount(BigDecimal fixedAmount) {
        this.fixedAmount = fixedAmount;
    }

    /**
     * 获取费用产生利息标志
     * @return intOnFeeFlag String
     */
    public String getIntOnFeeFlag() {
        return intOnFeeFlag;
    }

    /**
     * 设置费用产生利息标志
     * @param intOnFeeFlag 费用产生利息标志
     */
    public void setIntOnFeeFlag(String intOnFeeFlag) {
        this.intOnFeeFlag = intOnFeeFlag;
    }

    /**
     * 获取最大费用值	
     * @return maxAmount BigDecimal
     */
    public BigDecimal getMaxAmount() {
        return maxAmount;
    }

    /**
     * 设置最大费用值	
     * @param maxAmount 最大费用值	
     */
    public void setMaxAmount(BigDecimal maxAmount) {
        this.maxAmount = maxAmount;
    }

    /**
     * 获取最小费用值	
     * @return minAmount BigDecimal
     */
    public BigDecimal getMinAmount() {
        return minAmount;
    }

    /**
     * 设置最小费用值	
     * @param minAmount 最小费用值	
     */
    public void setMinAmount(BigDecimal minAmount) {
        this.minAmount = minAmount;
    }

    /**
     * 获取交易码	
     * @return txnCode String
     */
    public String getTxnCode() {
        return txnCode;
    }

    /**
     * 设置交易码	
     * @param txnCode 交易码	
     */
    public void setTxnCode(String txnCode) {
        this.txnCode = txnCode;
    }

    /**
     * 获取创建时间	
     * @return createTime Date
     */
    public Date getCreateTime() {
        return createTime;
    }

    /**
     * 设置创建时间	
     * @param createTime 创建时间	
     */
    public void setCreateTime(Date createTime) {
        this.createTime = createTime;
    }

    /**
     * 获取最后更新时间
     * @return updateTime Date
     */
    public Date getUpdateTime() {
        return updateTime;
    }

    /**
     * 设置最后更新时间
     * @param updateTime 最后更新时间
     */
    public void setUpdateTime(Date updateTime) {
        this.updateTime = updateTime;
    }

    /**
     * 获取最后更新操作员	
     * @return updateBy String
     */
    public String getUpdateBy() {
        return updateBy;
    }

    /**
     * 设置最后更新操作员	
     * @param updateBy 最后更新操作员	
     */
    public void setUpdateBy(String updateBy) {
        this.updateBy = updateBy;
    }

    /**
     * 获取记录版本号	
     * @return recordVersionNumber Integer
     */
    public Integer getRecordVersionNumber() {
        return recordVersionNumber;
    }

    /**
     * 设置记录版本号	
     * @param recordVersionNumber 记录版本号	
     */
    public void setRecordVersionNumber(Integer recordVersionNumber) {
        this.recordVersionNumber = recordVersionNumber;
    }
}